package com.hjr.leetcode.question100;

/**
 *14. 最长公共前缀
 * 编写一个函数来查找字符串数组中的最长公共前缀。
 *
 * 如果不存在公共前缀，返回空字符串 ""。
 */
public class q14 {

    public static void main(String[] args) {
        System.out.println(longestCommonPrefix(new String[]{"flower","flower","flower","flower"}));
    }

    // 1ms 40mb
    public static String longestCommonPrefix(String[] strs) {
        //取第一个进行对比，如果相同则继续，不同则返回空字符串
        if (strs.length == 1){
            return strs[0];
        }
        char equal = 0;
        int length = strs[0].length();
        for (int i = 0; i < length; i++) {
            for (int j = 0; j < strs.length; j++) {
                if (strs[j].length() <= i){
                    return strs[0].substring(0,i);
                }
                char c = strs[j].charAt(i);
                if (j == 0){
                    equal = c;
                }
                if (equal != c){
                    return strs[0].substring(0,i);
                }
            }
        }
        return strs[0];
    }

}
